import Vue from 'vue'
import Vuex from 'vuex'
import createLogger from 'vuex/dist/logger'
// 导入key
import {
	CARTKEY
} from 'utils/keys.js'

Vue.use(Vuex); //vue的插件机制

//Vuex.Store 构造器选项
const store = new Vuex.Store({
	state: { //存放状态
		animal: "猪拱门",
		// 购物车商品数据
		goodsList: uni.getStorageSync(CARTKEY) || [
			// {
			// 	goods_id:1,
			// 	num:1,
			// 	isChecked:true
			// }
		]
	},
	// mutations
	mutations: {
		// 参数1 state数据
		// 参数2 外部传入的数据
		ADD2CART(state, goods_id) {
			// 解构数据
			const {
				goodsList
			} = state
			// 是否存在数据
			const index = goodsList.findIndex(v => {
				return v.goods_id === goods_id
			})
			// 不存在  -1
			if (index === -1) {
				// 添加
				goodsList.push({
					goods_id,
					num: 1,
					isChecked: true
				})
			} else {
				// 存在
				goodsList[index].num++
			}
			// console.log('购物车数据:',state.goodsList)
		}
	},
	// 注册插件 会自动打印内容
	plugins: [createLogger()]
})
export default store
